/*
============================================================================
 Name        : $(Basename)Session.h
 Author      : $(Author)
 Version     :
 Copyright   : $(Copyright)
 Description : $(Basename)Server session.
============================================================================
*/

#ifndef __C$(BASENAME)SESSION_H__
#define __C$(BASENAME)SESSION_H__

#include <e32base.h>

class C$(Basename)Server;

class C$(Basename)ServerSession : public CSession
	{

	public:

		static C$(Basename)ServerSession* NewL(RThread& aClient, C$(Basename)Server& aServer);
		static C$(Basename)ServerSession* NewLC(RThread& aClient, C$(Basename)Server& aServer);
		virtual ~C$(Basename)ServerSession();

	public:

		void SendTimeToClient();

	public: // Functions from base classes

		void ServiceL(const RMessage& aMessage);

	private:

		C$(Basename)ServerSession(RThread& aClient, C$(Basename)Server& aServer);
		void ConstructL();

	private: // New methods

		void PanicClient(TInt aPanic) const;
		void RequestTimeL(const RMessage& aMessage);

	private: // Data

		C$(Basename)Server& iServer;
		TBool iWaitingForTick;
		RMessage iMessage;

	};
#endif // __C$(BASENAME)SESSION_H__
